#pragma once
#include <vector>

using namespace std;

class BaseGameComponent;

// a state machine that allows different states to be active at one time
class StateMachine
{
	BaseGameComponent* currentState = nullptr;

public:
	StateMachine(void);
	~StateMachine(void);

	BaseGameComponent* getCurrentState(void) const { return currentState; }

	void setCurrentState(BaseGameComponent* value);
};